package com.triones.api.service.interlace;

import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.triones.api.entity.interlace.bo.InterlaceCardApplyParams;
import com.triones.api.entity.interlace.bo.InterlaceCardTransactionParams;
import com.triones.api.entity.interlace.bo.InterlaceInfinityCardParams;
import com.triones.api.entity.interlace.dto.InterlaceInfinityCardDO;
import com.triones.api.entity.interlace.vo.CustomInterlaceCardTransactionVO;
import com.triones.api.entity.interlace.vo.CustomInterlaceInfinityCardVO;
import com.triones.api.entity.interlace.vo.InterlaceCardApplyVO;
import com.triones.api.entity.interlace.vo.InterlaceInfinityCardVO;

/**
 * 卡管理
 */
public interface InterlaceCardService {

    /**
     * interlace卡列表（分页）
     * @param params
     * @param pageQuery
     * @return
     */
    TableDataInfo<CustomInterlaceInfinityCardVO> pageList(InterlaceInfinityCardParams params, PageQuery pageQuery);

    /**
     * 详情
     * @param id
     * @return
     */
    CustomInterlaceInfinityCardVO getDetail(Long id);

    /**
     * interlace卡交易列表（分页）
     * @param params
     * @param pageQuery
     * @return
     */
    TableDataInfo<CustomInterlaceCardTransactionVO> transactionPageList(InterlaceCardTransactionParams params, PageQuery pageQuery);

    /**
     * 卡交易详情
     * @param id
     * @return
     */
    CustomInterlaceCardTransactionVO getTransactionDetail(Long id);

    /**
     * 卡申请列表（分页）
     * @param params
     * @param pageQuery
     * @return
     */
    TableDataInfo<InterlaceCardApplyVO> applyPageList(InterlaceCardApplyParams params, PageQuery pageQuery);

    /**
     * 卡片删除
     * @param id
     * @return
     */
    boolean delCard(Long id);
}
